﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DLTN.Entities;
using DLTN.Data;
using System.Net.Mail;
using System.Text;

public partial class LienHeChiTiet : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            BindCatalog.BindLoaiTour(cboLoaiTour);
            //BindCatalog.BindNoiDen(cboDiemDen);
            BindCatalog.BindGiaTour(cboGiaTien);
            BindCatalog.BindMailLienHe(cboMail);
        }

    }
    protected void SelectedindexchangedcboLoaiTour(object sender, EventArgs e)
    {
        TList<NoiDen> TList_Catalogs1 = DataRepository.NoiDenProvider.Find("IdLoaiTour=" + cboLoaiTour.SelectedValue);
        cboDiemDen.DataSource = TList_Catalogs1;
        cboDiemDen.DataTextField = "TenNoiDen";
        cboDiemDen.DataValueField = "Id";
        cboDiemDen.DataBind();
    }
    protected void ImageBtnGui_Click(object sender, ImageClickEventArgs e)
    {
        this.CaptchaControl.ValidateCaptcha(this.txtCapCha.Text);
        if (this.CaptchaControl.UserValidated)
        {
            bool updateStatus = false;
            try
            {
                DLTN.Entities.LienHe ent_LienHe = new DLTN.Entities.LienHe();
                ent_LienHe.IdDiemDen = Convert.ToInt32(cboDiemDen.SelectedValue);
                ent_LienHe.IdGiaTour = Convert.ToInt32(cboGiaTien.SelectedValue);
                ent_LienHe.HoTen = txtTen.Text;
                ent_LienHe.ThanhPho = txtTinh_ThanhPho.Text;
                ent_LienHe.ThuDienTu = txtEmail.Text;
                ent_LienHe.DienThoai = txtSoDienThoai.Text;
                ent_LienHe.YeuCau = txtYeuCau.Text;
                ent_LienHe.TrangThai = false;
                ent_LienHe.NgayCapNhat = Common.GetServerDateTime();
                if (ent_LienHe.Id == 0)
                {
                    ent_LienHe.Id = 0;
                    updateStatus = DataRepository.LienHeProvider.Insert(ent_LienHe);
                    guiMail();
                }

                if (updateStatus)
                {

                    ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), Constants.THANHCONG,
                                                        "Thông tin liên hệ của bạn đã được gửi thành công. Chúng Tôi sẽ liên hệ với bạn trong thời gian sớm nhất. Xin cảm ơn!", true);

                    RedirectTo("~/");

                }
                else
                    ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), Constants.THATBAI,
                                                        "Gửi Liên hệ không thành công", true);
            }
            catch (Exception ex)
            {
                Common.WriteLog("LienHeChiTiet.aspx.cs", "cmdSave_Click", ex.ToString());
                ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), Constants.THATBAI,
                                                    Constants.LIENHE_CAPNHAT_THATBAI, true);
            }
        }
        else
        {
            ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), Constants.THATBAI,
                                                        Constants.LH_CAPCHA_THATBAI, true);
        }
    }
    private void RedirectTo(string url)
    {
        string redirectURL = Page.ResolveClientUrl(url);
        string script = String.Format("window.location = '{0}';", redirectURL);
        ScriptManager.RegisterStartupScript(this, typeof(Page), "RedirectTo", script, true);
    }

    private void guiMail()
    {
        TList<CauHinhMail> TList_CauHinhMail = DataRepository.CauHinhMailProvider.GetAll();
        if (TList_CauHinhMail.Count > 0)
        {
            MailMessage objEmail = new MailMessage();
            objEmail.From = new MailAddress(TList_CauHinhMail[0].TenMail);

            if (cboMail.SelectedValue == "1")
                objEmail.To.Add("giamdoc@vyctour.com");
            if (cboMail.SelectedValue == "2")
                objEmail.To.Add("pr@vyctour.com");
            if (cboMail.SelectedValue == "3")
                objEmail.To.Add("pp-dlnd@vyctour.com");
            if (cboMail.SelectedValue == "4")
                objEmail.To.Add("sales7@vyctour.com");
            if (cboMail.SelectedValue == "5")
                objEmail.To.Add("ketoan@vyctour.com");

            //Chèn loại email cần đến ở đây

            objEmail.Subject = "[VYC]Liên hệ từ " + txtTen.Text; // Tiêu đề bài viết
            objEmail.SubjectEncoding = Encoding.UTF8;
            objEmail.BodyEncoding = Encoding.UTF8; //Chuyển bảng mã
            objEmail.Body = NoiDungMail(); //Chưa nội dung mail
            objEmail.IsBodyHtml = true;
            SmtpClient smtp;
            if (TList_CauHinhMail[0].TrangThai == true)
            {
                smtp = new SmtpClient() { Host = "smtp.gmail.com", Port = 587, EnableSsl = true, Credentials = new System.Net.NetworkCredential(TList_CauHinhMail[0].TenMail, TList_CauHinhMail[0].MatKhau) };
            }
            else
            {
                smtp = new SmtpClient() { Host = "smtp.live.com", Port = 587, EnableSsl = true, Credentials = new System.Net.NetworkCredential(TList_CauHinhMail[0].TenMail, TList_CauHinhMail[0].MatKhau) };
            }
            smtp.Send(objEmail);
            //WebMessage.Show("Chúng tôi đã gửi nội dung bài viết đến Thư điện tử cho bạn!");
            //Page.ClientScript.RegisterStartupScript(this.GetType(), "redirectMe", "alert('Chúng tôi đã gửi nội dung bài viết đến Thư điện tử cho bạn.\\n!')");
            //gọi đoạn javascrip để đóng cửa sổ lại

        }
    }

    private string NoiDungMail()
    {
        TList<NoiDen> TList_DiemDen = DataRepository.NoiDenProvider.Find("IdLoaiTour=" + cboLoaiTour.SelectedValue);
        GiaTour ent_GiaTour = DataRepository.GiaTourProvider.GetById(Convert.ToInt32(cboGiaTien.SelectedValue));
        //
        string NoiDung = "";
        NoiDung = "Đây là Mail gửi đến từ website của Du lịch Thanh Niên Xung Phong<br><br>";
        NoiDung += "Khách hàng: <b>" + txtTen.Text + "</b> gửi yêu cầu điểm đến là <b>" + TList_DiemDen[0].TenNoiDen + "</b>";
        NoiDung += " với giá tiền tương ứng <b>" + ent_GiaTour.SoTien + "</b><br /><br />";
        NoiDung += "<b>THÔNG TIN CHI TIẾT:</b><br />";
        NoiDung += "Đến từ: <b>" + txtTinh_ThanhPho.Text + "</b><br />";
        NoiDung += "Thư điện tử: <b>" + txtEmail.Text + "</b><br />";
        NoiDung += "Điện thoại: <b>" + txtSoDienThoai.Text + "</b><br />";
        NoiDung += "Với chi tiết yêu cầu sau:<br />";
        NoiDung += txtYeuCau.Text;
        NoiDung += "<br><a  href='" + Common.sPathUpLienKet + HttpContext.Current.Request.Url.AbsolutePath.ToString() + "'> Link từ website Du lịch Thanh niên xung phong </a>";
        NoiDung += "<br><br><hr>Vui lòng không trả lời Mail này!";
        return NoiDung;
    }
}